#ifndef TINX_STRING_H
#define TINX_STRING_H

#include <tinx/types.h>

// 获取字符串长度
size_t strlen(char *src);
size_t strnlen(char *str, int maxlen);
size_t strnamelen(char *name);

// 拷贝 src 到 dest
int strcpy(char *dest, char *src);

// 把 src 接到 dest 后面
void strcast(char *dest, char *src);

// 指定字节数复制
char *strncpy(char *dest, char *src, size_t count);

// 比较两个字符串, 相等返回 0
int strcmp(char *cs, char *ct);

char *strsep(char *str);
char *strrsep(char *str);
char *strrname(char *str);

// 拷贝 src count 个字节到 dest
void memcpy(void *dest, void *src, int count);

// 比较内存 count 字节, 相等返回 0
int memcmp(void *_cs, void *_ct, int count);

// 把以 dest 起始的 count 字节每一字节都设为 data
void memset(void *dest, u8 data, int count);

#endif